package com.jic.order.request;

import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;

@Data
public class CreateJoinGroupOrderRequest implements Serializable {

	@ApiModelProperty(notes = "token",required = true)
	private String token;
	@ApiModelProperty(notes = "请求流水号，防重复提交的")
	private String serialNo;

	// 优惠券
	@ApiModelProperty(notes = "优惠券编码",required = true)
	private String couponCode;

	// 校验拼团商品
	@ApiModelProperty(notes = "商品ID", required = true)
	private long goodsId;
	@ApiModelProperty(notes = "商品编码")
	private String goodsCode;
	@ApiModelProperty(notes = "团购ID",required = true)
	private String groupId;
	@ApiModelProperty(notes = "第三方商品编码",required = true)
	private String thirdProductCode;
	@ApiModelProperty(notes = "开参团flag  1 开团，0 参团",required = true)
	private Integer launchFlag;
	@ApiModelProperty(notes = "实例化ID")
	private String groupInstCode;
	@ApiModelProperty(notes = "购买数量",required = true)
	private Long buyNum;

	// 1.创建父订单
	@ApiModelProperty(notes = "购买人的用户id")
	private long buyerId;
	@ApiModelProperty(notes = "购买人的用户名")
	private String buyerUsername;
	@ApiModelProperty(notes = "'购买人真实名称'")
	private String buyerRealname;
	@ApiModelProperty(notes = "收货人省id")
	private long receiverProvinceId;
	@ApiModelProperty(notes = "收货人省名称")
	private String receiverProvinceName;
	@ApiModelProperty(notes = "收货人市id")
	private long receiverCityId;
	@ApiModelProperty(notes = "收货人市名称")
	private String receiverCityName;
	@ApiModelProperty(notes = "收货人区/县id")
	private long receiverCountryId;
	@ApiModelProperty(notes = "收货人区/县名称")
	private String receiverRegionName;
	@ApiModelProperty(notes = "收货人名字")
	private String receiverName;
	@ApiModelProperty(notes = "收货人电话")
	private String receiverPhone;
	@ApiModelProperty(notes = "收货人详细地址")
	private String receiverAddress;
	@ApiModelProperty(notes = "销售总金额")
	private BigDecimal saleTotalAmount;
	@ApiModelProperty(notes = "优惠总金额，优惠总金额=销售总金额-购买总金额",required = true)
	private BigDecimal discountTotalAmount;
	@ApiModelProperty(notes = "购买总金额，购买总金额=销售总金额-优惠总金额",required = true)
	private BigDecimal buyTotalAmount;
	@ApiModelProperty(notes = "物流总费",required = true)
	private BigDecimal expressTotalFee;
	@ApiModelProperty(notes = "实付总金额，实付总金额=购买总金额+物流总费",required = true)
	private BigDecimal actualPayTotalAmount;
	@ApiModelProperty(notes = "销售渠道，对应枚举com.jic.order.enums.SaleChannelEnum")
	private Integer saleChannel;

	// 2.创建子订单
	@ApiModelProperty(notes = "0 代表普通下单 1代表代客下单")
	private Integer orderType;
	@ApiModelProperty(notes = "订单备注",required = true)
	private String mark;
}
